'use strict';

exports.middleware = [ 'errorHandler', 'saveSession' ]

exports.errorHandler = {
  match: '/v1',
}

exports.session = {
  key: 'egg-neko',
  maxAge: 24 * 3600 * 1000, // 1 天
  httpOnly: true,
  encrypt: true
}

exports.keys = 'd203c026-62f2-49fb-bc8a-b0cdbb825f61'

exports.security = {
  csrf: {
    // enable: false,
    queryName: '_csrf', // 通过 query 传递 CSRF token 的默认字段为 _csrf
    bodyName: '_csrf', // 通过 body 传递 CSRF token 的默认字段为 _csrf
    headerName: 'x-csrf-token', // 通过 header 传递 CSRF token 的默认字段为 x-csrf-token
    useSession: true, // 默认为 false，当设置为 true 时，将会把 csrf token 保存到 Session 中
    cookieName: 'csrfToken', // Cookie 中的字段名，默认为 csrfToken
    sessionName: 'csrfToken', // Session 中的字段名，默认为 csrfToken
    ignoreJSON: true,
    ignore: (ctx) => {
      let isLocal = ctx.app.env === 'local'
      for (let domain of exports.security.csrf.domainWhiteList) {
        let matched = ctx.request.hostname.indexOf(domain) > -1
        if (matched) return true
        // if (isLocal) {
        //   if (matched) return true
        // } else {
        //   if (matched) return true
        // }
      }
    },
    domainWhiteList: [
      '.saberneko.me'
    ]
  },
}

exports.mongoose = {
  url: 'mongodb://127.0.0.1/neko-douyaer',
  options: {}
}

exports.redis = {
  client: {
    cluster: false,
    host: '127.0.0.1',
    port: '6379',
    family: 4,
    password: '',
    db: 0,
    keyPrefix: 'neko-douyaer',
    nodes: [{}]
  },
}

// exports.logger = {
//   // dir: '/path/to/your/custom/log/dir',
// }
